package com.pn.service;

import com.pn.entity.Product;
import com.pn.entity.Result;
import com.pn.page.Page;

import java.util.List;

public interface ProductService {

    /**
     * 分页查询商品列表
     *
     * @param page    分页对象
     * @param product 条件参数类
     * @return 包含商品列表的分页对象
     */
    Page queryProductPage(Page page, Product product);

    /**
     * 添加商品接口
     *
     * @param product 商品信息实体类
     * @return 是否成功添加商品
     */
    Result addProduct(Product product);

    /**
     * 修改商品上下架状态
     *
     * @param product 封装商品id和状态参数类
     * @return 修改成功与否
     */
    Result setProductState(Product product);

    /**
     * 删除商品
     *
     * @param productIds 商品id集合
     * @return 响应对象
     */
    Result removeProductByIds(List<Integer> productIds);

    /**
     * 修改商品信息
     *
     * @param product 商品信息封装类
     * @return 响应对象
     */
    Result setProductById(Product product);
}
